﻿using System;
using System.Collections.Generic;
using System.Text;
using System.Linq;

namespace AlgorithmTest
{
    // T_[四个数字排序]_[算法名]
    public class T_0129_InvertTree : IAlgorithm
    {
        // 226. 翻转二叉树

        // 给你一棵二叉树的根节点 root ，翻转这棵二叉树，并返回其根节点。

        // 提示：
        //  树中节点数目范围在[0, 100] 内
        //  -100 <= Node.val <= 100

        public void Test()
        {
            // 算法参数定义

            // 算法执行与打印
            //var res = InvertTree(param);
        }

        // 算法
        public TreeNode InvertTree(TreeNode root)
        {
            if (root == null)
                return null;
            var temp = root.left;
            root.left = root.right;
            root.right = temp;
            if (root.left != null)
                InvertTree(root.left);
            if (root.right != null)
                InvertTree(root.right);
            return root;
        }
    }
}
